\documentclass{article}


%%-----------PGF/TIKZ
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes.geometric,shapes.misc,positioning}

\usepackage{palatino}

% Use preview.sty to crop the page
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{pgfpicture}
\setlength\PreviewBorder{0pt}

\definecolor[named]{Yellow}{cmyk}{.01,.11,.74,0}
\definecolor[named]{Red}{cmyk}{0,.48,.62,0}
\definecolor[named]{Green}{cmyk}{.31,0,.69,0}
\definecolor[named]{Teal}{cmyk}{.39,.05,.18,0}
\definecolor[named]{Purple}{cmyk}{.16,.31,0,0}
\definecolor[named]{Gray}{cmyk}{0,0,0,.29}

\begin{document}
\begin{figure}
\begin{tikzpicture}
    [
    node distance=7mm and 8mm,
    scale=.8,
    text width=5em,
    text centered,
    rectangle,
    rounded corners,
    em/.style ={
        fill=Yellow,
        draw=black,
		thick, 
    },
    block/.style={
        fill=gray!29, 
        draw=black,
		thick,
    },
    brackish/.style={
        fill=Red, 
        draw=black,
		thick,
    },
    ox/.style={
        fill=Green,
        draw=black,
		thick, 
    },
    contact/.style={
        fill=Purple,
        draw=black,
		thick, 
    },
    tm/.style={
        fill=Teal, 
        draw=black,
		thick,
    },    
    txt/.style ={
		text width=5em,
		text centered
    },
    pump/.style ={
        draw,
        thick,
        double distance=1pt,
        -latex'
    },
    gravity/.style ={
        draw,
        thick,
        -stealth'
    },
    ]


	\node(treatment) [txt] {Mechanical Treatment};
    \node(pond1) [ox,below=of treatment] {Ox Pond 1};
    \node(pond2) [ox,right=of pond1] {Ox Pond 2};
    \node(tm3) [tm,above right=of pond2] {TM 3};
    \node(pond3) [ox,above=of tm3] {Ox Pond 3};
    \node(phantom1) [above left=of pond3] {};    
    \node(emergency) [block,above=of pond3] {Storm Pumps};
    \node(tm2) [tm,below=of tm3] {TM 2};
    \node(tm1) [tm,below=of tm2] {TM 1};
    \node(tm4) [tm,below=of tm1] {TM 4};
    \node(well) [block,right=of tm2] {Wet Well};
    \node(well2) [block,right=of pond3] {Wet Well};
    \node(phantom2) [above right=of well2] {};
    \node(contact) [contact,right=of well] {Contact Basin};
    \node(allen) [em,below=of contact] {Allen};
    \node(hauser) [em,right=of contact] {Hauser};
    \node(gearheart) [em,right=of allen] {Gearheart};
    \node(brackish) [brackish,below=of gearheart] {Brackish Marsh};
    \node(bay) [txt,above right=of contact] {Bay Discharge};
    
    \path[pump]    (treatment) -- (pond1);
    \path[gravity] (pond1)     -- (pond2);
    \path[gravity] (pond2.70)  |- (pond3);
    \path[gravity] (pond3)     -- (tm3);
    \path[pump]    (pond3)     -- (emergency);
    \path[gravity] (pond2)     -- (tm2);
    \path[gravity] (pond2.290)     |- (tm1);
    \path[pump]    (pond2.250)     |- (tm4);
    \path[gravity] (tm4)       -- (tm1);
    \path[gravity] (pond3)     -- (well2);
    \path[pump]    (pond2.110) |- (emergency);
    \path[pump]    (emergency) -| (contact.70);
    \path[pump]    (well2)     -| (contact.110);
    \path[gravity] (tm1)       -| (well);
    \path[gravity] (tm2)       -- (well);
    \path[gravity] (tm3)       -| (well);
    \path[pump]    (well)      -- (contact);
    \path[gravity] (contact)   -- (bay);    
    
    \path[gravity] (contact)   -- (allen);
    \path[gravity] (allen)     -- (gearheart);
    \path[gravity] (gearheart) -- (hauser);
    \path[pump]    (hauser)    -- (contact);
	
\end{tikzpicture}
\end{figure}
\end{document}
